computercraftfandomcom_ru-20200213-history
Программы для ComputerCraft
И так начнем! Готовый код без ошибок тут Название: Locked doСложность:нормальная Пишем в консоли ( Функция() позволяет ввести значение с клавиатуры, а в функцию read() вызывает то что вы написали с помощью функции write ) Уважаемый Dimach прошу не менять мои поправки, ваши правки не корректны edit startup Далее в появившемся окне пишем: write ("Password: ") password = read() if password (correctpassword) then print ("Password Correct.") redstone.setOutput("back", true) sleep(5) redstone.setOutput("back", false) else print ("Incorrect Password!") end (correctpassword) = "OLOLO" (Вместо OLOLO пишите ВАМИ ПРИДУМАННЫЙ ПАРОЛЬ ) Еще один вариант password = "Dapova" --Тут твой пароль print ("Ya zamochek :DD by TreanTess") write ("Password: ") input = read() if input password then redstone.setOutput ("back", true) --Редстоун проводи сзади sleep (5) os.shutdown() else print ("He DaBau esho paz") sleep (2) os.shutdown() end И короткий, а главное рабочий вариант: пишет edit Startup В окне пишем: print ("Enter Door Code") Это сохраняем! И теперь пишем edit open (Вместо open пишем свой пароль) В окне вводим: print ("Correct Password!") redstone.setOutput("left", true ) --Вместо left пишем сторону sleep(6) --тут вводим задержку redstone.setOutput("left", false ) --Вместо left пишем сторону Далее сохраняем, и перезагружаем компьютер (для этого вводим reboot) При включении должно появится Enter Door Code, пишем свой пароль, появится Correct Password! и дверь откроется! Нажимаем ctrl и выбираем Save после опять нажимаем ctrl и с помощью стрелок выбераем Exit далее пишем Lock появляется Password: пишем Password: OLOLO (в место OLOLO пешите ВАМИ ПРИДУМАННЫЙ ПАРОЛЬ ) Ну а дальше все понятно! И еще одна, железно рабочая версия. При вводе пароля символы заменяются на *** звездочки, выйти из программы не введя пароль нельзя, после ввода терминал разблокируется. Итак, вот он: Вводим edit startup и поехали print ("insert password") function lock() t = read("*) if t "хитрыйпароль" then print (correct!") redstone.setOutput("сторона", true) sleep(7) redstone.setOutput("тажесторона", false) else print ("incorrect") lock() end end pass() А вот замок который не взломаешь никак, и покамесь не введёшь верный пароль, вы ничего не сможете сделать. __________________________________________ Добавил информацию по взлому: Santony Bricks Возможно взломать только поставив рядом дисковод с диском. В файле startup(который на диске, а не на компьютере) должна быть написана любая программа. Мне хватило и этого: write("OLOLO") Включил компьютер, и вышла надпись: "OLOLO" Дальше можно делать с компьютером все, что угодно, даже редактировать загрузочный файл. __________________________________________ edit startup print("Please, enter password: ") ''----- При включении компьютера вы увидите этот текст'' b = os.computerID() ''----- Это что бы узнать ID компьютера'' x = read() ''----- Переменная "х" присваивает значение которое вы введёте'' if x "guard" then ''------ если вы ввели "guard" то'' print(".:::Welcome OLOLO:::.") '' ----- вы увидите этот текст'' sleep(2) ''-----таймаут 2 секунды'' shell.run("clear") ''------ всё что было на экране очиститься'' print("Welcome") ''----- и вы увидите это сообщение'' print("Computer ID: ", b) ''----- ниже вам покажет ID компьютера. Дальше пользуйтесь компьютером'' else ''------ если вы не правильно введи пароль то'' print("Incorrect password!") ''----- вам покажет вот это сообщение'' shell.run("exit") ''------ и у вас выйдет из системы'' end В место guard впишите любой другой пароль, который вы хотите. ''- kasromaha '' 21.06.2012 11:09 3 урок! Калькулятор Название:Calculator Сложность: Сложная Код: print ("Microcrap Calc\n") local tEnv = { "exit" = function() bRunning = false end, } setmetatable( tEnv, { __index = getfenv() } ) local s = io.read() local nForcePrint = 0 local func, e = loadstring( s ) local func2, e2 = loadstring( "return "..s ) if not func then if func2 then func = func2 e = nil nForcePrint = 1 end else if func2 then func = func2 end end if func then setfenv( func, tEnv ) local tResults = { pcall( func ) } if tResults1 then local n = 1 while (tResults+ 1 ~= nil) or (n <= nForcePrint) do print( tostring( tResults+ 1 ) ) n = n + 1 end else print( tResults2 ) end else print( e ) end 4 урок Детектор событий. Название:Event Сложнось:легкая Программа срабатывает, когда что-то происходит внутри или за пределами компьютера. Используйте os.pullEvent (), чтобы запустить программу, пока система еще включена. For example, to detect a redstone change connected to the computer: r = os.pullEvent() if r "redstone" then -- подключите редстоун к компьютеру когда он сработает то сработает и программа. --тут пишете программу которая будет выполнятся при срабатывании детектора end И немного о том как именно обрабатывать события еvent, returnValues = os.pullEvent() где event это вернутое событие (ниже в таблице они все привидены) а returnValues ето возвращаемое значение проверить их можно оперратором if последовательно Урок 5 - Пароль на компьютер (Добавил Bellaurest) Название: Пароль на компьютер Сложность: нормальная Описание: Если вам хочется сохранить в тайне ваши файлы в компьютере от вредного друга, то эта программа для вас. (Пишу по памяти) Сначала введите команду edit startup потом пишите саму программу. os.pullEvent = os.pullEventRaw while true do term.clear() term.setCursorPos(1, 1) print("Ваш текст по английски") input = read("*") if input "Ваш_пароль" then print("Access granted") sleep(3) exit() else print("Access denied") sleep(3) os.shutdown() end end Урок 6 - Логин Пароль (Добавил Bellaurest) Название: (См. тему) Сложность: Наилегчайшее Описание: Двойная сложность взлома пароля. Чтобы не париться с вводом, просто введите эту команду в строке: pastebin get G8zMrSnX startup Вот сам код: while true do term.clear() term.setCursorPos(1, 1) l = "Ваш_Логин" print("Enter your login: ") log = read() if log l then print("OK") sleep(2) else print("Error, please try again.") sleep(2) end term.clear() term.setCursorPos(1, 1) p = "Ваш_Пароль" print("Enter your password: ") pass = read("*") if pass p then print("Access granted") rs.setOutput("left", true) sleep(3) rs.setOutput("left", false) else print("Access denied") sleep(1) end end Урок 7 - Система авторизации в компьютере (Добавил Bellaurest) Сложность: Наилегчайшее Описание: Вы хотели чтобы к вам в комп не залез любопытный друг, то этот код для вас!!! Он состоит всего из двух функций. Все легко и просто!!! Можно не парясь скачать его тут --Уважаемые фанаты Computer Craft'a, прошлые коды, то есть уроки 5 и 6 не работают по скольку я плохо знал LUA, теперь же вы сможете защитить свой компьютер от взлома. local function acc() while true do term.clear() term.setCursorPos(1, 1) print("Enter your login: ") account = "Ваш_Логин" input_a = read() if input_a account then break end end end local function pass() while true do term.clear() term.setCursorPos(1, 1) print("Enter your password: ") password = "Ваш_Пароль" input_p = read("*") if input_p password then term.clear() term.setCursorPos(1, 1) term.setTextColour( colours.yellow) print("CraftOS 1.5") term.setTextColour( colours.white) break end end end -- То что ниже этого сообщения, тоже пишем, иначе работать не будет. acc() pass() Или без функций: term.clear() term.setCursorPos(1, 1) term.setTextColour( colours.yellow) -- Не трогать, он работает while true do print("Enter your login: ") log = "login" -- Тут ваш логин login = read() if login log then break end end while true do term.clear() term.setCursorPos(1, 1) print("Enter your password: ") p = "pass" -- Тут ваш пароль pwd = read("*") -- Отображается звёздочками if pwd p then term.clear() term.setCursorPos(1, 1) print("CraftOS X.X") -- Напишите вместо иксов вашу версию компа. break end end Урок 8,Вирус. Сложность:Детская Если вы играете в мультиплеере с ComputerCraft,то у вас есть возможность выбесить друга или врага,если те имеют компьютер.Код необходимо программировать на дискете,ибо без дискеты вы не сможете распростронять вирус.Для того чтобы запрограммировать дискету необходимо присобачить рядом дисковод с дискетой,затем ввести в компьютер edit disk/startup (Автозапуск дискеты) Код(By 1BROROST1) os.pullEvent = os.pullEventRaw (Не позволяет выключить программу удерживая CTRL+t) term.clear() (Очищает экран) print("THIS DEVICE HAS BEEN BLOCKED") (Выводит сообщение на экран) while true do (Бесконечный цикл) sleep(100) ("Сон" компьютера на 100 сек) end (Не обращайте внимание на отсуствие пробелов,они не так важны) Смысл данного вируса в том,что программа выводит сообщение о том,что компьютер заблокирован. Затем бесконечный цикл замораживает компьютер на 100 сек,потом повторяет эту процедуру неограниченное кол-во раз. Для того чтобы вылечиться от вируса необходимо убрать заражённую дискету из дисковода,затем перезагрузить компьютер (CTRL+R). Если вирус был скопирован с дискеты в девайс,необходимо использовать любую дискету с незаражённым стартапом (На другом компьютере запрограммируйте на исполнение любой программы. Например print("Computer") ,этого хватит.) ,затем запустить девайс и при помощи edit startup стереть со стартапа вирусный код. Категория:Програмы